-
Notifications
You must be signed in to change notification settings - Fork 15
ACME: external account binding support. #22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
30a0562
to
fda230c
Compare
9bb8643
to
9cd7190
Compare
9cd7190
to
52646d0
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR implements external account binding (EAB) support for the ACME client module as specified in RFC8555 § 7.3.4. External account binding allows ACME clients to associate their account with an external account managed by the CA.
- Added support for HMAC-based signing for external account binding
- Introduced configuration directive
external_account_key
to specify EAB credentials - Enhanced test infrastructure with feature detection and version checking
Reviewed Changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
t/lib/Test/Nginx/ACME.pm | Enhanced test daemon with configuration merging, feature detection, and version checking |
t/acme_external_account.t | New test case for external account binding functionality |
t/acme_*.t | Removed unused imports and simplified configuration |
src/util.rs | Added utility functions for file reading and string manipulation |
src/jws.rs | Added HMAC key support and made nonce optional for EAB signing |
src/conf/issuer.rs | Added external account key configuration structure |
src/conf.rs | Added configuration parser for external_account_key directive |
src/acme/types.rs | Added external_account_binding field to AccountRequest |
src/acme.rs | Implemented EAB signature generation in account creation |
README.md | Updated documentation to reflect EAB support |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
52646d0
to
c9bfd5d
Compare
Do not set certificate validity unless necessary.
Allow passing extra configuration.
c9bfd5d
to
9cf9c9e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good for me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
d19c6a7
to
68754de
Compare
RFC8555 § 7.3.4 implementation.
The keys are
base64url
encoded because that's how most of the issuers provide the keys.Tested with:
Fixes #6